package com.chzc.goods.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chzc.goods.req.OrderREQ;
import com.chzc.po.OrderInfo;
import com.chzc.util.Result;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author CV大魔王
 * @since 2021-05-27
 */
public interface IOrderInfoService extends IService<OrderInfo> {

    /**
     * 用户秒杀下单接口,添加订单到数据库
     * @param goodsId 商品id
     * @param address 收货地址
     */
    Result placeAnOrder(String goodsId,String address);


    /**
     * 获取用户个人订单信息
     * @return 用户个人订单信息
     */
    IPage<OrderInfo> getMeOrder(OrderREQ req);

    /**
     * 付款，更改订单状态
     * @param orderId 订单id
     * @return
     */
    Result payment(String orderId);

    /**
     * 分页查询所有订单数据
     * @param req
     * @return
     */
    IPage<OrderInfo> queryPageList(OrderREQ req);

    /**
     * 删除订单
     * @param id
     * @return
     */
    Result delete(String id);

    /**
     * 修改订单状态为已发货
     * @param id
     * @return
     */
    Result ship(String id);
}
